home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / Powervisor v1.10b disk1.adf / PowerVisor110.readme < prev    next >
Text File  |  1991-11-06  |  11KB  |  145 lines

  1. This is PowerVisor, a powerful machinelanguage level debugger                   
  2. for the serious Amiga programmer.                                               
  3.  
  4. This is a MAJOR update. Many bugs have been fixed and some new features are added.
  5. This is version V1.10 beta.
  6.  
  7. Below follows a list of features.                                               
  8. PowerVisor is shareware. Read the 'ReadThisFile' file in the                    
  9. root of the zoo file for more info.                                             
  10.                                                                                 
  11. Warning ! This is still a beta version. Although a very                         
  12. stable one I think.                                                             
  13.                                                                                 
  14.                                                                                 
  15. Some PowerVisor features :                                                      
  16.                                                                                 
  17. - Compatible with all Amiga models and all Motorola processors that             
  18.   you can put in your Amiga (68000,68010,68020,68030,68881,68882,               
  19.   68851). (The disassembler also supports the 68040).                           
  20. - Full screen debugger or commandline type debugger all in one.                 
  21. - Very configurable, you can redefine the keys (for example to                  
  22.   emulate the monam2 keys).                                                     
  23.   You can attach almost any command to almost any key.                          
  24. - Two versions : one for AmigaDOS 1.2-1.3 and one for AmigaDOS 2.0.             
  25. - The following singlestep commands are supported :                             
  26.     - simple trace                                                              
  27.     - trace over BSR/JSR (works even in ROM)                                    
  28.     - trace until register changes (done in singlestepmode)                     
  29.     - trace until branch (stops tracing before branch really                    
  30.       executes) (done in singlestepmode).                                       
  31.     - trace until operating system call used (JSR (a6) or JMP (a6))             
  32.       (done in singlestepmode).                                                 
  33.     - trace until address (with automatic breakpoint).                          
  34.     - trace until condition becomes true (with a powerful expression            
  35.       evaluator, you could for example trace until register d0 is               
  36.       equal to d1 and d2 is equal to d3) (done in singlestep mode).             
  37. - The following breakpoints are supported :                                     
  38.     - break                                                                     
  39.     - break and remove breakpoint                                               
  40.     - break after <n> times                                                     
  41.     - break if condition is true                                                
  42.     - profile breakpoint (counter)                                              
  43. - The number of breakpoints is unlimited (only limited by memory).              
  44. - When you are tracing a program you can continue typing commands.              
  45.   You can even singlestep more commands at the same time (multitasking          
  46.   debugging).                                                                   
  47. - SYMBOL hunks are supported.                                                   
  48. - You can interactivelly add or remove symbols so you can more easily           
  49.   remember routines to jump to.                                                 
  50. - You can debug crashed tasks, you can load a task, you can simply              
  51.   take a task from the task list to debug it or you can wait until              
  52.   the next task is started.                                                     
  53. - ARexx port. You can write your scripts in ARexx.                              
  54.   This ARexx scripts are asynchronious (multitasking) so you                    
  55.   can run an ARexx script in one logical window and type commands               
  56.   in the other one.                                                             
  57. - Simple scripts can also be written in the internal script                     
  58.   language.                                                                     
  59. - You can list several system lists : tasks, locks, files, libraries,           
  60.   devices, resources, interrupts, resident modules, dos devices,                
  61.   fonts, message ports, semaphores, execbase, graphicsbase,                     
  62.   intuitionbase, windows, screens, input handlers, memory lists,                
  63.   autoconfig devices, ...                                                       
  64. - You can ask more information about each element of a list. For                
  65.   example you can dump the task structure of an element in the                  
  66.   task list.                                                                    
  67. - You can of course view memory and disassemble instructions.                   
  68. - There is a very powerful 'view' command. You can define                       
  69.   regions of memory to be of a certain type. The 'view' command                 
  70.   will then automatically adapts its output to the type of the                  
  71.   memory. The following types are supported : ascii, byte,                      
  72.   word, long, code (disassembly) and structures. With the last                  
  73.   type you can define a region of memory to be a structure. For                 
  74.   example: with one command you can define all tasks in the system              
  75.   as 'STRUCTURE Task'. When the 'view' command accidently hits                  
  76.   the memory of one task, the output will automatically reflect                 
  77.   this.                                                                         
  78.   You can define your own structures to use in PowerVisor.                      
  79. - You can interactivelly test and use libraries and devices.                    
  80.   PowerVisor understands fd-files so that you can use the library               
  81.   functions in this library as if you type them from C (more                    
  82.   or less). This is very useful when you want to see how a certain              
  83.   library function works.                                                       
  84. - PowerVisor traps crashes and gurus (most of them anyway).                     
  85. - PowerVisor traps stack overflows.                                             
  86. - PowerVisor has 6 different logical windows (these are not                     
  87.   Intuition windows) for output. One is for the fullscreen debugger,            
  88.   one is for the automatic refresh and two are for normal output.               
  89.   The other two are for PortPrint output (see later) and for ARexx              
  90.   output.                                                                       
  91.   You can use a different font for any of the logical windows.                  
  92. - Powerful windowsystem. You can stack Intuitionwindows and                     
  93.   PowerVisor windows in any way you want.                                       
  94. - Integrated portprint facility (with library), all messages printed            
  95.   appear on the PowerVisor window.                                              
  96. - Support for interlace/non interlace.                                          
  97. - PowerVisor uses a 3D screen when started in AmigaDOS 2.0.                     
  98.   PowerVisor also uses overscan in AmigaDOS 2.0.                                
  99. - In AmigaDOS 2.0 the PowerVisor screen is a public screen.                     
  100.   You can make the screen of PowerVisor an autoscrolling                        
  101.   screen (like the 2.0 WorkBench).                                              
  102. - You can put the PowerVisor window on each screen available in                 
  103.   the system. This is of course dangerous but it can be useful                  
  104.   to debug some programs.                                                       
  105. - A logical window can be bigger than the visible size. This enables            
  106.   you to scroll this window to view the previous output.                        
  107. - A built-in snap facility.                                                     
  108. - A very powerful command parser and expression evaulator.                      
  109.   Some examples :                                                               
  110.     (5*4)<<2                 => 80                                              
  111.     *4                       => pointer to execbase                             
  112.     *4.b                     => byte at location 4                              
  113.     {a=5;v a*a}+1            => 26                                              
  114.     *(task:input.device+4)   => contents of task structure                      
  115.     if(a>=0,a,-a)            => abs(a)                                          
  116. - Online help.                                                                  
  117. - You can patch each library function in the system to see how                  
  118.   many times a function is used, by whom it is used, or what                    
  119.   parameters where given.                                                       
  120. - Commandline history.                                                          
  121. - 'Alias' command.                                                              
  122. - MMU commands, you can disassemble the mmu tree, you can reset                 
  123.   all U and M (used and modify) bits, you can display all 68020                 
  124.   68030 and the mmu registers.                                                  
  125. - 'kill' and 'freeze' commands to kill and freeze tasks.                        
  126. - You can remove a lot of things : tasks, input handlers, windows,              
  127.   screens, resident modules, ...                                                
  128. - You can read or write blocks using the trackdisk.device.                      
  129. - Variables allow you to remember values for later. Very useful                 
  130.   when debugging.                                                               
  131. - Except for the lists and the extra information for each element               
  132.   in the list, you can ask other information as well :                          
  133.     - all gadgets in a window (gadget structure is dumped)                      
  134.     - hunks for a process                                                       
  135. - Redirection of output to a file (log file).                                   
  136. - There are also commands to search, fill and copy memory.                      
  137. - You can also install a usage counter for each tasks, so that                  
  138.   you can determine how active a certain task is.                               
  139. - You can determine maximum stack checking for a task or process
  140. - Uses menus in AmigaDOS 2.0
  141. - Uses reqtools.library for requesters if available (reqtools is
  142.   made by Nico Francois)
  143.                                                                                 
  144.           Jorrit Tyberghein                                                     
  145.